import static org.junit.Assert.*;

import org.junit.Ignore;
import org.junit.Test;

import java.util.ArrayList;
import java.util.Scanner;

public class StolTest {

	@Ignore
	//@Test
	public void testUstawTabliceGraczy(){
		DaneDoGry dane = new DaneDoGry();
		Scanner daneWejsciowe = new Scanner(System.in);
		dane.daneDoGry(daneWejsciowe);
		Stol gra = new Stol();

		gra.ustawTabliceGraczy(dane);
		assertEquals(4, gra.tablicaGraczy.length);
	}
	
	//@Ignore
	@Test
	public void testTworzGraczy(){
		DaneDoGry dane = new DaneDoGry();
		dane.ustawIleGraczy(4);
		dane.ustawIleBotow(1);
		double[] tablicaPoziomowBotow = new double[dane.pobierzIleBotow()];
		tablicaPoziomowBotow[0] = 0.1;
		dane.ustawPoziomBotow(tablicaPoziomowBotow);
		//dane.ustawPoziomBotow(0.1);
		Stol gra = new Stol();
		gra.ustawTabliceGraczy(dane);
		gra.tworzGraczy(dane);
		int ileLudzi=0;
		int ileBotow=0;
		for(int i=0;i<gra.tablicaGraczy.length;i++){
			if(i<(dane.pobierzIleGraczy()-dane.pobierzIleBotow())){
				assertTrue(gra.tablicaGraczy[i].czyCzlowiek);
				ileLudzi++;
			}
			else{
				assertFalse(gra.tablicaGraczy[i].czyCzlowiek);
				ileBotow++;
			}
		}
		assertEquals(3, ileLudzi);
		assertEquals(1, ileBotow);
	}
	
	@Ignore
	//@Test
	public void testRozdajKarty(){
		DaneDoGry dane = new DaneDoGry();
		dane.ustawIleGraczy(4);
		dane.ustawIleBotow(1);
		//dane.ustawPoziomBotow(0.1);
		Stol gra = new Stol();
		gra.ustawTabliceGraczy(dane);
		gra.tworzGraczy(dane);
		ArrayList<Karta> talia = Talia.tasujTalie(Talia.tworzTalie());
		gra.rozdajKarty(talia);
	}
	
	@Ignore
	//@Test
	public void testWyswietlKartyGracza(){
		DaneDoGry dane = new DaneDoGry();
		dane.ustawIleGraczy(4);
		dane.ustawIleBotow(1);
		//dane.ustawPoziomBotow(0.1);
		Stol gra = new Stol();
		gra.ustawTabliceGraczy(dane);
		gra.tworzGraczy(dane);
		ArrayList<Karta> talia = Talia.tasujTalie(Talia.tworzTalie());
		gra.rozdajKarty(talia);
		gra.wyswietlKartyGracza(3);
	}

}
